package net.siufung.mybatis.support;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;

/**
 * @author 陈建峰
 * @since 2022/7/21 6:18 下午
 */
public class Conditions {

    /**
     * 获取mybatis plus中的QueryWrapper
     *
     * @param entity 实体
     * @param <T>    类型
     * @return QueryWrapper
     */
    public static <T> QueryWrapper<T> getQueryWrapper(T entity) {
        return new QueryWrapper<>(entity);
    }

    /**
     * 获取mybatis plus中的QueryWrapper
     *
     * @param entity 实体
     * @param <T>    类型
     * @return LambdaQueryWrapper
     */
    public static <T> LambdaQueryWrapper<T> getLambdaQueryWrapper(T entity) {
        return new LambdaQueryWrapper<>(entity);
    }

    /**
     * 获取mybatis plus中的UpdateWrapper
     *
     * @param entity 实体
     * @param <T>    类型
     * @return UpdateWrapper
     */
    public static <T> UpdateWrapper<T> getUpdateWrapper(T entity) {
        return new UpdateWrapper<>(entity);
    }

    /**
     * 获取mybatis plus中的UpdateWrapper
     *
     * @param entity 实体
     * @param <T>    类型
     * @return LambdaUpdateWrapper
     */
    public static <T> LambdaUpdateWrapper<T> getLambdaUpdateWrapper(T entity) {
        return new LambdaUpdateWrapper<>(entity);
    }

}
